[INFO] cloning repository https://github.com/npdawson/RES
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/npdawson/RES" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnpdawson%2FRES", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnpdawson%2FRES'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a914ec03da367b4850fcf361592fc92afb539d8a
[INFO] checking npdawson/RES against try#72f88fc4e9458f89516a0b8b0868f3718aec5b47 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnpdawson%2FRES" "/workspace/builds/worker-9/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/npdawson/RES on toolchain 72f88fc4e9458f89516a0b8b0868f3718aec5b47
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/npdawson/RES
[INFO] finished tweaking git repo https://github.com/npdawson/RES
[INFO] tweaked toml for git repo https://github.com/npdawson/RES written to /workspace/builds/worker-9/source/Cargo.toml
[INFO] crate git repo https://github.com/npdawson/RES already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] error: the lock file /workspace/builds/worker-9/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d3c605267fc849ddf88929e649d768c212c6450ca18e47b9528e550b2525d56f
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d3c605267fc849ddf88929e649d768c212c6450ca18e47b9528e550b2525d56f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d3c605267fc849ddf88929e649d768c212c6450ca18e47b9528e550b2525d56f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3c605267fc849ddf88929e649d768c212c6450ca18e47b9528e550b2525d56f", kill_on_drop: false }`
[INFO] [stdout] d3c605267fc849ddf88929e649d768c212c6450ca18e47b9528e550b2525d56f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 283f86a7c234a86102c3837bae1059c71280aa1c536987b79be6854d0d92e489
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "283f86a7c234a86102c3837bae1059c71280aa1c536987b79be6854d0d92e489", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling libc v0.2.77
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking num-complex v0.1.43
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking num-bigint v0.1.44
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking RES v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/nes/nes.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/nes/nes.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:133:20
[INFO] [stdout]     |
[INFO] [stdout] 133 |             0x2000 ... 0x3FFF =>
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:141:20
[INFO] [stdout]     |
[INFO] [stdout] 141 |             0x2000 ... 0x3FFF =>
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:149:20
[INFO] [stdout]     |
[INFO] [stdout] 149 |             0x0000 ... 0x07FF => self.ram[addr],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:150:20
[INFO] [stdout]     |
[INFO] [stdout] 150 |             0x0800 ... 0x0FFF => self.ram[addr - 0x0800],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:151:20
[INFO] [stdout]     |
[INFO] [stdout] 151 |             0x1000 ... 0x17FF => self.ram[addr - 0x1000],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:152:20
[INFO] [stdout]     |
[INFO] [stdout] 152 |             0x1800 ... 0x1FFF => self.ram[addr - 0x1800],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             0x2000 ... 0x3FFF => self.read_ppu(addr),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:154:20
[INFO] [stdout]     |
[INFO] [stdout] 154 |             0x4000 ... 0x4017 => panic!("APU and IO Regs not implemented!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:155:20
[INFO] [stdout]     |
[INFO] [stdout] 155 |             0x4018 ... 0x401F => panic!("See CPU Test Mode!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:156:20
[INFO] [stdout]     |
[INFO] [stdout] 156 |             0x8000 ... 0xBFFF => self.rom[addr - 0x8000 + 0x10],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:157:20
[INFO] [stdout]     |
[INFO] [stdout] 157 |             0xC000 ... 0xFFFF => self.rom[addr - 0xC000 + 0x10],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:164:20
[INFO] [stdout]     |
[INFO] [stdout] 164 |             0x0000 ... 0x07FF => self.ram[addr] = value,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:165:20
[INFO] [stdout]     |
[INFO] [stdout] 165 |             0x0800 ... 0x0FFF => self.ram[addr - 0x0800] = value,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |             0x1000 ... 0x17FF => self.ram[addr - 0x1000] = value,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |             0x1800 ... 0x1FFF => self.ram[addr - 0x1800] = value,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:168:20
[INFO] [stdout]     |
[INFO] [stdout] 168 |             0x2000 ... 0x3FFF => self.write_ppu(addr, value),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             0x4000 ... 0x4017 => panic!("APU and IO Regs not implemented!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:171:20
[INFO] [stdout]     |
[INFO] [stdout] 171 |             0x4018 ... 0x401F => panic!("See CPU Test Mode!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:172:20
[INFO] [stdout]     |
[INFO] [stdout] 172 |             0x4020 ... 0x7FFF => panic!("Cart RAM not implemented!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:173:20
[INFO] [stdout]     |
[INFO] [stdout] 173 |             0x8000 ... 0xFFFF => panic!("Can't write to ROM!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |             0x0000 ... 0x07FF => self.wram[addr],
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |             0x0800 ... 0x0FFF => self.wram[addr - 0x0800],
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 |             0x1000 ... 0x17FF => self.wram[addr - 0x1000],
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |             0x1800 ... 0x1FFF => self.wram[addr - 0x1800],
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 |             0x2000 ... 0x3FFF => self.ppu.read_reg(addr),
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |             0x4000 ... 0x4017 =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |             0x4018 ... 0x401F =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/nes/nes.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/nes/nes.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:133:20
[INFO] [stdout]     |
[INFO] [stdout] 133 |             0x2000 ... 0x3FFF =>
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:141:20
[INFO] [stdout]     |
[INFO] [stdout] 141 |             0x2000 ... 0x3FFF =>
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:149:20
[INFO] [stdout]     |
[INFO] [stdout] 149 |             0x0000 ... 0x07FF => self.ram[addr],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |             0x4020 ... 0xFFFF => self.cart.prg_rb(addr),
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 |             0x0000 ... 0x07FF =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |             0x0800 ... 0x0FFF =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 |             0x1000 ... 0x17FF =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |             0x1800 ... 0x1FFF =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 |             0x2000 ... 0x3FFF => self.ppu.read_reg(addr) as u16, // TODO error?
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:42:20
[INFO] [stdout]    |
[INFO] [stdout] 42 |             0x4000 ... 0x4017 =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |             0x4018 ... 0x401F =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 |             0x4020 ... 0xFFFF => self.cart.prg_rw(addr),
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nes::Cart`
[INFO] [stdout]  --> src/nes/ppu/ppu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nes::Cart;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nes/cart/cart.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(rom: &mut Read) -> Cart {
[INFO] [stdout]    |                          ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:150:20
[INFO] [stdout]     |
[INFO] [stdout] 150 |             0x0800 ... 0x0FFF => self.ram[addr - 0x0800],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:151:20
[INFO] [stdout]     |
[INFO] [stdout] 151 |             0x1000 ... 0x17FF => self.ram[addr - 0x1000],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:152:20
[INFO] [stdout]     |
[INFO] [stdout] 152 |             0x1800 ... 0x1FFF => self.ram[addr - 0x1800],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             0x2000 ... 0x3FFF => self.read_ppu(addr),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:154:20
[INFO] [stdout]     |
[INFO] [stdout] 154 |             0x4000 ... 0x4017 => panic!("APU and IO Regs not implemented!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:155:20
[INFO] [stdout]     |
[INFO] [stdout] 155 |             0x4018 ... 0x401F => panic!("See CPU Test Mode!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:156:20
[INFO] [stdout]     |
[INFO] [stdout] 156 |             0x8000 ... 0xBFFF => self.rom[addr - 0x8000 + 0x10],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:157:20
[INFO] [stdout]     |
[INFO] [stdout] 157 |             0xC000 ... 0xFFFF => self.rom[addr - 0xC000 + 0x10],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:164:20
[INFO] [stdout]     |
[INFO] [stdout] 164 |             0x0000 ... 0x07FF => self.ram[addr] = value,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:165:20
[INFO] [stdout]     |
[INFO] [stdout] 165 |             0x0800 ... 0x0FFF => self.ram[addr - 0x0800] = value,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |             0x1000 ... 0x17FF => self.ram[addr - 0x1000] = value,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |             0x1800 ... 0x1FFF => self.ram[addr - 0x1800] = value,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:168:20
[INFO] [stdout]     |
[INFO] [stdout] 168 |             0x2000 ... 0x3FFF => self.write_ppu(addr, value),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             0x4000 ... 0x4017 => panic!("APU and IO Regs not implemented!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:171:20
[INFO] [stdout]     |
[INFO] [stdout] 171 |             0x4018 ... 0x401F => panic!("See CPU Test Mode!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:172:20
[INFO] [stdout]     |
[INFO] [stdout] 172 |             0x4020 ... 0x7FFF => panic!("Cart RAM not implemented!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:173:20
[INFO] [stdout]     |
[INFO] [stdout] 173 |             0x8000 ... 0xFFFF => panic!("Can't write to ROM!"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |             0x0000 ... 0x07FF => self.wram[addr],
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |             0x0800 ... 0x0FFF => self.wram[addr - 0x0800],
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 |             0x1000 ... 0x17FF => self.wram[addr - 0x1000],
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |             0x1800 ... 0x1FFF => self.wram[addr - 0x1800],
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 |             0x2000 ... 0x3FFF => self.ppu.read_reg(addr),
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |             0x4000 ... 0x4017 =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |             0x4018 ... 0x401F =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |             0x4020 ... 0xFFFF => self.cart.prg_rb(addr),
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 |             0x0000 ... 0x07FF =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |             0x0800 ... 0x0FFF =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 |             0x1000 ... 0x17FF =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |             0x1800 ... 0x1FFF =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 |             0x2000 ... 0x3FFF => self.ppu.read_reg(addr) as u16, // TODO error?
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:42:20
[INFO] [stdout]    |
[INFO] [stdout] 42 |             0x4000 ... 0x4017 =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |             0x4018 ... 0x401F =>
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mmu.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 |             0x4020 ... 0xFFFF => self.cart.prg_rw(addr),
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nes::Cart`
[INFO] [stdout]  --> src/nes/ppu/ppu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nes::Cart;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nes/cart/cart.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(rom: &mut Read) -> Cart {
[INFO] [stdout]    |                          ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/nes/nes.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 |             cpu: Cpu::new(cart),
[INFO] [stdout]    |                  ^^^^^^^^ ---- supplied 1 argument
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  expected 0 arguments
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/nes/cpu/rp2a03.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new() -> Cpu {
[INFO] [stdout]    |     ------------------- defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/nes/nes.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |             ppu: Ppu::new(cart),
[INFO] [stdout]    |                  ^^^^^^^^ ---- supplied 1 argument
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  expected 0 arguments
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/nes/ppu/ppu.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 7  |     pub fn new() -> Ppu {
[INFO] [stdout]    |     ------------------- defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> src/nes/nes.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |         self.cpu.step();
[INFO] [stdout]    |                  ^^^^- supplied 0 arguments
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  expected 1 argument
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/nes/cpu/rp2a03.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn step(&mut self, mmu: &mut Mmu) {
[INFO] [stdout]    |     ------------------------------------- defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/nes/nes.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 |             cpu: Cpu::new(cart),
[INFO] [stdout]    |                  ^^^^^^^^ ---- supplied 1 argument
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  expected 0 arguments
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/nes/cpu/rp2a03.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new() -> Cpu {
[INFO] [stdout]    |     ------------------- defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/nes/nes.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |             ppu: Ppu::new(cart),
[INFO] [stdout]    |                  ^^^^^^^^ ---- supplied 1 argument
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  expected 0 arguments
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/nes/ppu/ppu.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 7  |     pub fn new() -> Ppu {
[INFO] [stdout]    |     ------------------- defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> src/nes/nes.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |         self.cpu.step();
[INFO] [stdout]    |                  ^^^^- supplied 0 arguments
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  expected 1 argument
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/nes/cpu/rp2a03.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn step(&mut self, mmu: &mut Mmu) {
[INFO] [stdout]    |     ------------------------------------- defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ppu_reg` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:134:22
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 self.ppu_reg[addr & 0x7],
[INFO] [stdout]     |                      ^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ppu_reg` on type `&mut Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 self.ppu_reg[addr & 0x7] = value,
[INFO] [stdout]     |                      ^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:149:39
[INFO] [stdout]     |
[INFO] [stdout] 149 |             0x0000 ... 0x07FF => self.ram[addr],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:150:39
[INFO] [stdout]     |
[INFO] [stdout] 150 |             0x0800 ... 0x0FFF => self.ram[addr - 0x0800],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 |             0x1000 ... 0x17FF => self.ram[addr - 0x1000],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:152:39
[INFO] [stdout]     |
[INFO] [stdout] 152 |             0x1800 ... 0x1FFF => self.ram[addr - 0x1800],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `rom` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:156:39
[INFO] [stdout]     |
[INFO] [stdout] 156 |             0x8000 ... 0xBFFF => self.rom[addr - 0x8000 + 0x10],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `rom` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:157:39
[INFO] [stdout]     |
[INFO] [stdout] 157 |             0xC000 ... 0xFFFF => self.rom[addr - 0xC000 + 0x10],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&mut Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:164:39
[INFO] [stdout]     |
[INFO] [stdout] 164 |             0x0000 ... 0x07FF => self.ram[addr] = value,
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&mut Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:165:39
[INFO] [stdout]     |
[INFO] [stdout] 165 |             0x0800 ... 0x0FFF => self.ram[addr - 0x0800] = value,
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&mut Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 |             0x1000 ... 0x17FF => self.ram[addr - 0x1000] = value,
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&mut Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:167:39
[INFO] [stdout]     |
[INFO] [stdout] 167 |             0x1800 ... 0x1FFF => self.ram[addr - 0x1800] = value,
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ppu_reg` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:134:22
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 self.ppu_reg[addr & 0x7],
[INFO] [stdout]     |                      ^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ppu_reg` on type `&mut Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 self.ppu_reg[addr & 0x7] = value,
[INFO] [stdout]     |                      ^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:149:39
[INFO] [stdout]     |
[INFO] [stdout] 149 |             0x0000 ... 0x07FF => self.ram[addr],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:150:39
[INFO] [stdout]     |
[INFO] [stdout] 150 |             0x0800 ... 0x0FFF => self.ram[addr - 0x0800],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 |             0x1000 ... 0x17FF => self.ram[addr - 0x1000],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:152:39
[INFO] [stdout]     |
[INFO] [stdout] 152 |             0x1800 ... 0x1FFF => self.ram[addr - 0x1800],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `rom` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:156:39
[INFO] [stdout]     |
[INFO] [stdout] 156 |             0x8000 ... 0xBFFF => self.rom[addr - 0x8000 + 0x10],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `rom` on type `&Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:157:39
[INFO] [stdout]     |
[INFO] [stdout] 157 |             0xC000 ... 0xFFFF => self.rom[addr - 0xC000 + 0x10],
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&mut Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:164:39
[INFO] [stdout]     |
[INFO] [stdout] 164 |             0x0000 ... 0x07FF => self.ram[addr] = value,
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&mut Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:165:39
[INFO] [stdout]     |
[INFO] [stdout] 165 |             0x0800 ... 0x0FFF => self.ram[addr - 0x0800] = value,
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&mut Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 |             0x1000 ... 0x17FF => self.ram[addr - 0x1000] = value,
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `ram` on type `&mut Cpu`
[INFO] [stdout]    --> src/nes/cpu/rp2a03.rs:167:39
[INFO] [stdout]     |
[INFO] [stdout] 167 |             0x1800 ... 0x1FFF => self.ram[addr - 0x1800] = value,
[INFO] [stdout]     |                                       ^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `reg_a`, `reg_x`, `reg_y`, `reg_pc`, `reg_s`, `reg_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors; 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors; 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `RES`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "283f86a7c234a86102c3837bae1059c71280aa1c536987b79be6854d0d92e489", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "283f86a7c234a86102c3837bae1059c71280aa1c536987b79be6854d0d92e489", kill_on_drop: false }`
[INFO] [stdout] 283f86a7c234a86102c3837bae1059c71280aa1c536987b79be6854d0d92e489
